Composites
In WOLF, states blocks are indexed by single letters or char, which in WOLF we call keys.
But there are more data structures related to states.
For all these data structures, we use the term composite to refer to a collection
of information indexed by keys with the structure std::map<char, SomeType>.
Composite is a template class, so in fact, there can be several types of composites, in WOLF the main composites are the following:
TypeComposite: A composite of state block types, i.e.std::map<char, std::string>. It is used for specification purposes, e.g. to specify the states types of a sensor.PriorComposite: A composite containing prior specifications for state blocks. The prior defines whether a state block is fixed or can be estimated and, in the second case, if it has an absolute factor (and is information).VectorComposite: A composite ofEigen::VectorXd. Normally used to contain state values.
Finally, we defined StateKeys as a typedef of std::string, i.e. a list of keys.